# 第一阶段：构建阶段（命名为 builder）
# 直接指定 Docker Hub 源域，绕过 registry-mirrors 元数据请求
FROM registry-1.docker.io/library/node:22 AS builder
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 使用国内 npm 镜像加速安装依赖（不影响 Docker 镜像拉取）
RUN npm ci --registry=https://registry.npmmirror.com

# 复制项目源代码
COPY . .

# 构建生产版本（显式生产模式）
RUN npm run build -- --mode production

# 第二阶段：生产环境
FROM registry-1.docker.io/library/nginx:1.26.0

# 复制构建产物从 builder 阶段
COPY --from=builder /app/dist /usr/share/nginx/html
# 复制自定义 Nginx 配置为默认站点
COPY nginx.conf /etc/nginx/conf.d/default.conf

# 暴露端口
EXPOSE 80

# 启动 nginx
CMD ["nginx", "-g", "daemon off;"]